package org.gten.gegedexin.service;
/**
 * @author Eric
 * @date 2023/6/6
 */


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.gten.gegedexin.dao.UserDao;
import org.gten.gegedexin.pojo.UserPojo;

@Service
public class UserServiceImpl {
    @Autowired
    UserDao userDao;

    /**
     * 新建username
     * 使用前必须确定username不重复，不然就狠狠地给你报异常！
     * @param username 用户名
     * @param password 密码
     * @param nickname 别名
     * @return 添加的User被分配的id
     */
    public int addUser(String username, String password, String nickname) {
        int Id = getValidInfoId();
        userDao.insert(new UserPojo(username, password, nickname, Id));

        return Id;
    }

    public void delUser(String username) {
        userDao.deleteById(username);
    }

    /**
     * 通过username查找用户记录
     * @param username 用户名
     * @return  数据库实体。有getter, setter方法
     */
    public UserPojo getByUsername(String username){
        return userDao.selectById(username);
    }

    /**
     *
     * @return 返回当前可用的user_info编号
     */
    // 获取当前可用的InfoId
    public int getValidInfoId(){
        return userDao.getValidInfoId() + 1;
    }

    /**
     * 确定用户是否存在
     * @param username  用户名
     * @return 布尔值，用户名是否存在
     */
    public boolean isUserNameExist(String username){
        UserPojo tmp = userDao.selectById(username);
        return !(tmp == null);
    }
}
